Automatic repeat request (ARQ) schemes are commonly used in data communication to provide a more efficient communication between a source user and a destination user. Several types of ARQ, such as hybrid ARQ, stop-and-wait ARQ, go-back-N (GBN) ARQ and selective repeat (SR) ARQ are available where each provides an efficient use of the communication resources between a source user and a destination user. However, each of the prior arts schemes suffers from at least one problem that makes the communication system more complex, more expensive or inefficient for data communication.
For example, in case of hybrid ARQ, the destination user stores soft versions of the previously sent copies of data packet for soft combining. The data packet with possibly additional incremental redundancy in the channel is sent which increases the coding rate and effectively lowering the communication data rate. The destination user may effectively soft-combine the soft copy stored in the memory with the newly arrived soft copy to decode the data in the data packet. The communication system resources may remain idle between the previous and the new transmission times. The complexity of the communication system as a result is increased due to requirements of additional control, code construction, decoder implementation, and memory requirements.
In case of selective repeat ARQ, source user transmits data packets with a sequence number to be decoded by the destination user. If a data packet arrives with error at the destination user, the destination user sends a message to the source user for retransmission of the packet of data while identifying the data packet sequence number. Depending on the length of delay of such feedback to the source user, the maximum sequence number is increased to allow for the length of the feedback delay. As such, the destination user, for example a mobile station, may be required to have a large memory segment to store transmission of packets of data until all data packets including the packet with the maximum sequence number have arrived without error. The number of data packets stored at the destination user may increase substantially which places a high burden on the memory requirements.
In case of stop-and-wait ARQ, the source user transmits only one packet of data and waits until it receives an indication of successful reception at the destination user, then the source user transmits another data packet. The communication channel remains idle while the source is waiting for the acknowledgment. As such, low usage of the available communication bandwidth resulting in an inefficient communication is a problem associated with stop-and-wait.
Hybrid ARQ may be coupled with stop and wait scheme, however, the result does not overcome the idle communication channel problem experience while waiting for the acknowledgment. Hybrid ARQ may also be coupled with selective repeat scheme; however, the result is not without the known problems. In fact, when hybrid ARQ is coupled with the selective repeat scheme, the requirement of the memory size is substantially increased because in addition to the storing at least one copy of the data packets, additional copies may need to be stored for soft combining operation of the hybrid ARQ portion.
Therefore, there is a need for a method and apparatus of ARQ which provides efficient use of the communication resources without the known complexity of the prior arts.